package com.smartlazy.sequence.mysql.core.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.*;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author howe
 */
@TableName("sys_sequence")
@Data
public class SysSequence extends Model<SysSequence> {
    /**
     * 主键ID
     */
    @TableId(type = IdType.INPUT)
    private Long id;
    /**
     * 序列名
     */
    @TableField("seq_name")
    private String seqName;
    /**
     * 序列值
     */
    @TableField("seq_value")
    private Long seqValue;
    /**
     * 顺序
     */
    @TableField("order_num")
    private Integer orderNum;
    /**
     * 是否可用标志 1:可用 0：不可用
     */
    @TableField("available_flag")
    private Integer availableFlag;
    /**
     * 删除标识  1:已删除 0：未删除
     */
    @TableField(value = "delete_flag")
    @TableLogic
    private Integer deleteFlag;
    /**
     * 创建者
     */
    @TableField("create_id")
    private String createId;
    /**
     * 格式化日期：yyyy-MM-dd HH:mm:ss
     */
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 最后修改者
     */
    @TableField("last_update_id")
    private String lastUpdateId;
    /**
     * 格式化日期：yyyy-MM-dd HH:mm:ss
     */
    @TableField(value = "last_update_time",fill = FieldFill.INSERT_UPDATE)
    private Date lastUpdateTime;
    /**
     * 版本
     */
    @Version
    private Integer version;
    @Override
    protected Serializable pkVal() {
        return id;
    }
}
